セルの書式設定 (1)


文字の配置
1 配置指定の概要
配置は、Excel
メニューの「編集(O)」「セル(E)」を選択すると表示される「セルの書式設定」ダイアログボックスの「配置」パネルで指定する内容です。
配置では、セル内での文字列の配置位置と方向などを指定します。下記は、マクロの自動記録機能を使用して作成されたコードです。
Range("A2").Select
With Selection
.HorizontalAlignment = xlGeneral
.VerticalAlignment = xlBottom
.Orientation = 0
.AddIndent = False
.WrapText = False
.ShrinkToFit = False
.MergeCells = False
End With
プロパティ |
指 定 内 容 |
HorizontalAlignment |
文字列の横位置を指定します |
VerticalAlignment |
文字列の縦位置指定します |
Orientation |
文字の方向と角度を指定します |
AddIndent |
Trueにすると均等割付の時、前後にスペースを入れる |
WrapText |
Trueにすると列幅で折り返して全体を表示します |
ShrinkToFit |
Trueにすると縮小して全体を表示します |
MergeCells |
Trueにするとセルを結合します |
IndentLevel |
インデント幅を設定します |


2 横位置の指定
セル内での文字列の左右の位置を、HorizontalAlignment
プロパティの値で指定します。指定方法は次のとおりです。
処理内容:横位置を「左詰」に設定します。
Sub Alignment_1()
Worksheets("Sheet1").Select
Range("A1").HorizontalAlignment = xlLeft
End Sub
処理内容:横位置を前後にスペースを入れて均等割付します。
Sub Alignment_2()
Worksheets("Sheet1").Select
With Range("A1")
.HorizontalAlignment = xlDistributed
.AddIndent = True
End With
End Sub
横位置の配置で指定する HorizontalAlignment プロパティの値(定数)は下表のとおりです。
配 置 |
定 数 |
備 考 |
標準
|
xlGeneral |
|
左詰め |
xlLeft |
|
中央揃え |
xlCenter |
|
右詰め |
xlRight |
|
繰り返し |
xlFill |
入力された文字列をセルの幅だけ繰り返して表示します。 |
両端揃え |
xlJustify |
「折り返して全体を表示する」と同じような機能です。 |
選択範囲内で中央 |
xlCenterAcrossSelection |
セル結合をせず複数セルの中央に配置 |
均等割付 |
xlDistributed |
前後にスペースを入れるときは、
AddIndent = True を設定します。 |
セル内にインデントを設定して文字位置を右にずらすには、IndentLevel プロパティを使用します。ずらす幅を数値(
1 〜 15 )で指定します。1 レベルが概ね 2 バイト文字 1
字分に相当します。
下記の例では、右に 1
レベル分のインデントを設定します。
Range("A1").IndentLevel = 1


3 縦位置の指定
セル内での文字列の上下の位置を、VerticalAlignment
プロパティの値で指定します。指定方法は次のとおりです。
処理内容:縦位置を「中央揃え」に設定します。
Sub Alignment_3()
Worksheets("Sheet1").Select
Range("A1").VerticalAlignment = xlCenter
End Sub
処理内容:縦位置を前後にスペースを入れず均等割付します。
Sub Alignment_4()
Worksheets("Sheet1").Select
Range("A1").VerticalAlignment = xlDistributed
End Sub
縦位置の配置で指定する VerticalAlignment プロパティの値(定数)は下表のとおりです。
配 置 |
定 数 |
備 考 |
上詰め |
xlTop |
|
中央揃え |
xlCenter |
|
下詰め |
xlBottom |
|
両端揃え |
xlJustify |
「折り返して全体を表示する」と同じような機能です。 |
均等割付 |
xlDistributed |
前後にスペースを入れるときは、
AddIndent = True を設定します。 |


4 文字方向の指定
セル内での文字列の向きや傾きの角度を、Orientation
プロパティの値で指定します。
文字列の角度は、値 0 が水平、1 ~ 90 が右端を上、-1 から
-90 が右端を下に傾けます。縦書きにする場合は、Orientation
の値を xlVertical とします。
処理内容:文字列を縦書きに設定します。
Sub Alignment_5()
Worksheets("Sheet1").Select
Range("A1").Orientation = xlVertical
End Sub
処理内容:文字列の右側を45°上に傾けます。
Sub Alignment_6()
Worksheets("Sheet1").Select
Range("A1").Orientation = 45
End Sub


5 セル内に文字が収まらないときの指定(文字列の制御)
セル内で文字列が収まらないときには、「セル幅で折り返して表示する」「セル幅で縮小して表示する」「セル結合を行う」の方法があります。
処理内容:セル幅で折り返して表示します。
Sub Alignment_7()
Worksheets("Sheet1").Select
Range("A1").WrapText = True
End Sub
処理内容:セル幅で縮小して表示します。
Sub Alignment_8()
Worksheets("Sheet1").Select
Range("A1").ShrinkToFit = True
End Sub
処理内容:セルA1からC1を結合します。
Sub Alignment_9()
Worksheets("Sheet1").Select
Range("A1:C1").Merge
End Sub


セルの背景色と網掛け
1 セルの背景色
セルの背景色を指定するには「ColorIndex」プロパティのインデックス番号(1〜56)による指定と、「Color」プロパティにより「RGB」関数の値で指定する方法があります。
なお、「RGB関数」は、RGB(赤明度、緑明度、青明度)の書式で表され、「R(レッド)」、「G(グリーン)」、「B(ブルー)」の光の三原色を元にして色をつくる関数です。明度は
それぞれ 0〜255 の数値で指定します。明度を
0 にするとその色は出なくなり、255 にすると 100%
色が出ます。
処理内容:ColorIndex 番号により背景色を赤に設定します。
Sub Interior_1()
Worksheets("Sheet1").Select
Range("A1").Interior.ColorIndex = 3
End Sub
処理内容:「Color」と「RGB関数」により背景色を赤に設定します。
Sub Interior_2()
Worksheets("Sheet1").Select
Range("A1").Interior.Color = RGB(255,0,0)
End Sub
2 セルの網掛けと色
背景の網掛パターンは、「Pattern」プロパティのインデックス番号又は定数により指定します。
パターンに対応するインデックス番号は下図のとおりです。
処理内容:パターン番号により網掛けパターンを指定します。
Sub Interior_3()
Worksheets("Sheet1").Select
Range("A1").Interior.Pattern = 10
End Sub
処理内容:定数により網掛けパターンを指定します。
Sub Interior_4()
Worksheets("Sheet1").Select
Range("A1").Interior.Pattern = xlUp
End Sub
網掛けの色もセルの背景色と同様に、「ColorIndex」プロパティのインデックス番号(1〜56)による指定と、「Color」プロパティにより「RGB」関数の値で指定する方法があります。
処理内容:ColorIndex 番号により網掛けの色を指定します。
Sub Interior_5()
Worksheets("Sheet1").Select
With Range("A1")
.Interior.Pattern = 10
.Interior.PatternColorIndex = 3
End With
End Sub
処理内容:RGB関数により網掛けの色を指定します。
Sub Interior_6()
Worksheets("Sheet1").Select
With Range("A1")
.Interior.Pattern = 10
.Interior.PatternColor = RGB(0, 0, 255)
End With
End Sub


罫線の設定
罫線には、位置、種類、線の太さ、色の要素があります。設定方法は次のとおりです。
<設定範囲>.<位置>.<罫線の「種類」または「太さ」または「色」>
● 位置は、「Borders」「BorderAround」「Borders(罫線設定位置)」のいずれかで指定します。
● 種類は、「LineStyle」で指定します。
● 太さは、「Weight」で指定します。
● 色は、「ColorIndex」「Color」のいずれかで指定します。
1 罫線の位置の設定
罫線を設定する位置を指定します。位置の設定方法には次の
3 通りが有ります。
1. 選択範囲全体を指定する
例:セルA1:C5の範囲全体(セルの外枠も含む)に同じ罫線を設定する。
Range("A1:C5).Borders.<処理内容>
2. 選択範囲の外枠だけ指定する
例:セルA1:C5の範囲の外枠だけに罫線を設定する。
Range("A1:C5").BorderAround <処理内容>
3. 選択範囲を部分的に指定する
例:ルA1:C5の範囲の外側の上下左右、範囲の内側の縦・横・斜めを個別に指定して罫線を設定する。
Range("A1:C5").Borders(罫線設定位置).<処理内容>
( )
内の罫線設定位置を決めるには、下表の組み込み定数を使用して次のように指定します。
例:選択範囲内の横罫線を実線で設定します。
Range("A1:C5").Borders(xlInsideHorizontal).LineStyle = xlContinuous
罫線の位置 |
組み込み定数 |
セル範囲の左 |
xlEdgeLeft |
セル範囲の右 |
xlEdgeRight |
セル範囲の上 |
xlEdgeTop |
セル範囲の下 |
xlEdgeBottom |
セル範囲内の縦罫線 |
xlInsideVertical |
セル範囲内の横罫線 |
xlInsideHorizontal |
各セルの右下がりの対角線 |
xlDiagonalDown |
各セルの右上がりの対角線 |
xlDiagonalUp |
処理内容:選択範囲全体を実線で設定します。
Sub Line_1()
Worksheets("Sheet1").Select
Range("A1:C5").Borders.LineStyle = xlContinuous
End Sub
処理内容:選択範囲の外枠を実線で設定します。
Sub Line_2()
Worksheets("Sheet1").Select
Range("A1:C5").BorderAround LineStyle := xlContinuous
End Sub
BorderAround はメソッドですので、右側に「.(ピリオドは付けません)
処理内容:選択範囲内の横罫線を実線で設定します。
Sub Line_3()
Worksheets("Sheet1").Select
Range("A1:C5").Borders(xlInsideHorizontal).LineStyle = xlContinuous
End Sub


2 罫線の種類の設定
罫線の種類は、下表の組み込み定数を使用して次のように指定します。
例:選択範囲内の縦罫線を実線で設定します。
Range("A1:C5").Borders(xlInsideVertical).LineStyle = xlDot
罫線の種類 |
組み込み定数 |
罫線無し |
xlLineStyleNone |
実線 |
xlContinuous |
破線 |
xlDash |
一点鎖線 |
xlDashDot |
二点鎖線 |
xlDashDotDot |
点線 |
xlDot |
二重線 |
xlDouble |
傾いた一点鎖線 |
xlSlantDashDot |
処理内容:選択範囲内の縦線を破線に設定します。
Sub Line_4()
Worksheets("Sheet1").Select
Range("A1:C5").Borders(xlInsideVertical).LineStyle = xlDash
End Sub
処理内容:選択範囲の罫線をすべて消去します。
Sub Line_5()
Worksheets("Sheet1").Select
Range("A1:C5").Borders.LineStyle = xlnone
End Sub


3 罫線の太さの設定
罫線の種類は、下表の組み込み定数を使用して次のように指定します。
例:選択範囲の下の線を細線で設定します。
Range("A1:C5").Borders(xlEdgeBottom).Weight = xlThin
罫線の種類 |
組み込み定数 |
極細線 |
xlHairLine |
細線 |
xlThin |
中太線 |
xlMedium |
太線 |
xlThick |
処理内容:選択範囲の枠線を太実線に設定します。
Sub Line_6()
Worksheets("Sheet1").Select
With Range("A1:C5")
.BorderAround LineStyle := xlContinuous
.BorderAround Weight = xlThick
End With
End Sub
処理内容:選択範囲上側の二点鎖線を細線にします。
Sub Line_7()
Worksheets("Sheet1").Select
With Range("A1:C5").Borders(xlEdgeTop)
.LineStyle = xlDashDotDot
.Weight = xlThin
End With
End Sub


4 罫線の色の設定
罫線の色を指定するには「ColorIndex」プロパティのインデックス番号(1〜56)による指定と、「Color」プロパティにより「RGB」関数の値で指定する方法があります。
なお、「RGB関数」は、RGB(赤明度、緑明度、青明度)の書式で表され、「R(レッド)」、「G(グリーン)」、「B(ブルー)」の光の三原色を元にして色をつくる関数です。明度は
それぞれ 0〜255 の数値で指定します。明度を
0 にするとその色は出なくなり、255 にすると 100%
色が出ます。
例:選択範囲の全ての罫線を青色に設定します。
Range("A1:C5").Borders.ColorIndex = 5
処理内容:選択範囲右側の中太一点差線を青色に設定します。
Sub Line_7()
Worksheets("Sheet1").Select
With Range("A1:C5").Borders(xlEdgeRight)
.LineStyle = xlDashDot
.Weight = xlMedium
.ColorIndex = 5
End With
End Sub
処理内容:選択範囲左側の極細実線を青色にします。
Sub Line_8()
Worksheets("Sheet1").Select
With Range("A1:C5").Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlHairLine
.Color = RGB(0,0,255)
End With
End Sub


5 罫線の設定例
処理内容:左上端セルをB2とする可変範囲リストに罫線を自動的に設定します。
設定内容は、表の外枠を中太線、見出し行下部の横線だけを細線、その他の表内横線を極細線、縦線はすべて細線とします。
Sub Sample()
Worksheets("Sheet1").Select
With Range("B2").CurrentRegion
.BorderAround LineStyle:=xlContinuous '
表の外枠罫線
.BorderAround Weight:=xlMedium
With .Borders(xlInsideVertical) '
表の縦罫線
.LineStyle = xlContinuous
.Weight = xlThin
End With
With .Borders(xlInsideHorizontal) '
表の横罫線
.LineStyle = xlContinuous
.Weight = xlHairline
End With
.Rows(1).Borders(xlEdgeBottom).Weight = xlThin '
見出し行下部の横罫線
End With
End Sub

